# -*- coding: utf-8 -*-
import KBEngine
from KBEDebug import *

import IKernel

from interfaces.BaseEntityEvent import BaseEntityEvent

class EngineProxy(KBEngine.Entity,
	BaseEntityEvent):

	def __init__(self):
		KBEngine.Entity.__init__(self)

		# 这里不调用
		# BaseEntityEvent.__init__(self)
		# 在onGetCell中补偿调用

		self.createCellEntityInNewSpace(1)

		# 调试用的
		self.IKernel = None

	def onGetCell(self):
		# EngineProxy有点特殊,在cell部分创建完成以后才开始初始化各个模块

		# 补偿调用父类 __init__ 用于初始化
		# 这样做，可以确保各个模块中的 __init__ 中可以创建实体无任何隐藏问题
		BaseEntityEvent.__init__(self)

		# 调试用的
		self.IKernel = IKernel.Instance()
		# 补偿事件，
		self.IKernel.onEvent(self.getScriptName(), "onInit", self.id, self.id, [False])
		self.IKernel.onEvent(self.getScriptName(), "onBaseAppReady", self.id, self.id, [True])

		# 再调用父类的
		BaseEntityEvent.onGetCell(self)















































